]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
dateMenu: Move weather forecast validity check
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 22 Nov 2019 22:27:47 +0000 (23:27 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Sat, 23 Nov 2019 00:13:08 +0000 (01:13 +0100)
Commit b779f6f728 added a check to filter out invalid weather forecasts.

However the check is currently done when creating UI for the forecasts,
which means we end up with fewer forecasts than we could display if any
forecasts are invalid.

We can avoid that issue by checking the validity while collecting the
forecasts, so do that instead.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1927

js/ui/dateMenu.js

index a081c12f5b0e615d12cc9b8164e14b956d29e502..2f7a95f448dd90392d3115d683f7849f81185dc4 100644 (file)
@@ -315,7 +315,10 @@ class WeatherSection extends St.Button {
         let current = GLib.DateTime.new_from_unix_local(0);
         let infos = [];
         for (let i = 0; i < forecasts.length; i++) {
-            let [ok_, timestamp] = forecasts[i].get_value_update();
+            const [valid, timestamp] = forecasts[i].get_value_update();
+            if (!valid || timestamp === 0)
+                continue;  // 0 means 'never updated'
+
             const datetime = GLib.DateTime.new_from_unix_local(timestamp);
             if (now.difference(datetime) > 0)
                 continue; // Ignore earlier forecasts
@@ -340,9 +343,7 @@ class WeatherSection extends St.Button {
 
         let col = 0;
         infos.forEach(fc => {
-            const [valid, timestamp] = fc.get_value_update();
-            if (!valid || timestamp === 0)
-                return;  // 0 means 'never updated'
+            const [valid_, timestamp] = fc.get_value_update();
             let timeStr = Util.formatTime(new Date(timestamp * 1000), {
                 timeOnly: true,
                 ampm: false,